Method and Apparatus for Low-Power, Long-Range Networking

ABSTRACT

An endpoint device may be operable to transmit and receive data wirelessly via a medium to which access is time-division multiplexed into a plurality of repeating windows. A first window of the plurality of repeating windows may be time-division multiplexed into a plurality of timeslots utilized for transmitting beacon signals. A second window of the plurality of repeating windows may be time-division multiplexed into a plurality of timeslots utilized for transmitting alarm signals. The endpoint may be assigned one of the first timeslots and, when an alarm condition is present, select one of the second timeslots for transmitting an alarm signal based on the assigned first timeslot, and based on a hash function. The endpoint may then transmit an alarm signal during the second timeslot. The endpoint may be operable to synchronize its local clock by listening to beacons transmitted by other endpoints.

CLAIM OF PRIORITY

This patent application is a continuation of U.S. patent applicationSer. No. 16/290,301, filed on Mar. 1, 2019, which is a continuation ofU.S. patent application Ser. No. 16/037,405, filed on Jul. 17, 2018,which is a continuation of U.S. patent application Ser. No. 15/809,176,filed on Nov. 10, 2017, which is a continuation of U.S. patentapplication Ser. No. 15/193,766, filed on Jun. 27, 2016, which is acontinuation of U.S. patent application Ser. No. 14/719,401, filed onMay 22, 2015, which is a continuation of U.S. patent application Ser.No. 13/267,621, filed on Oct. 6, 2011, now U.S. Pat. No. 9,042,353,which in turn makes reference to, claims priority to, and claims benefitfrom U.S. Provisional Patent Application Ser. No. 61/404,541, filed onOct. 6, 2010, now expired. Each of the above stated applications ishereby incorporated herein by reference in its entirety.

INCORPORATION BY REFERENCE

This patent application also makes reference to U.S. Provisional PatentApplication Ser. No. 61/464,376 filed on Mar. 2, 2011. The above statedapplication is hereby incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

Certain embodiments of the invention relate to networking. Morespecifically, certain embodiments of the invention relate to a methodand apparatus for low-power, long-range networking.

BACKGROUND OF THE INVENTION

Existing wireless networks consume too much power and/or are too-limitedin terms of range. Further limitations and disadvantages of conventionaland traditional approaches will become apparent to one of skill in theart, through comparison of such systems with some aspects of the presentinvention as set forth in the remainder of the present application withreference to the drawings.

BRIEF SUMMARY OF THE INVENTION

A system and/or method is provided for low-power, long-range networking,substantially as illustrated by and/or described in connection with atleast one of the figures, as set forth more completely in the claims.

These and other advantages, aspects and novel features of the presentinvention, as well as details of an illustrated embodiment thereof, willbe more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an exemplary wireless communication network.

FIG. 2 depicts an exemplary low-power, long-range network endpoint.

FIG. 3A depicts a plurality of access windows of a network for whichaccess is time-division multiplexed.

FIG. 3B depicts a window of time which is time-division multiplexed intoa plurality of timeslots.

FIG. 3C depicts a window of time which is time-division multiplexed intoa plurality of timeslots.

FIG. 4 illustrates an exemplary packet structure utilized for alow-power, long range wireless network.

FIG. 5 is a flowchart comprising exemplary steps performed by anendpoint in a low-power, long-range network.

FIG. 6 is a flowchart comprising exemplary steps for synchronization ofa low-power, long-range network endpoint.

FIG. 7 is a flowchart comprising exemplary steps for synchronization ofa low-power, long-range network endpoint.

DETAILED DESCRIPTION OF THE INVENTION

As utilized herein the terms “circuits” and “circuitry” refer tophysical electronic components (i.e. hardware) and any software and/orfirmware (“code”) which may configure the hardware, be executed by thehardware, and or otherwise be associated with the hardware. As utilizedherein, “and/or” means any one or more of the items in the list joinedby “and/or”. For example, “x and/or y” means any element of thethree-element set {(x), (y), (x, y)}. Similarly, “x, y, and/or z” meansany element of the seven-element set {(x), (y), (z), (x, y), (x, z), (y,z), (x, y, z)}. As utilized herein, the terms “block” and “module” referto functions than can be implemented in hardware, software, firmware, orany combination of one or more thereof. As utilized herein, the term“exemplary” means serving as a non-limiting example, instance, orillustration. As utilized herein, the term “e.g.,” introduces a list ofone or more non-limiting examples, instances, or illustrations.

FIG. 1 depicts an exemplary wireless communication network. Shown is acell 108 associated with a base station 102. Within the cell arecontrollers 106 ₁-106 ₃ and endpoints 104 ₁-104 ₂₀.

The base station 102 may comprise circuitry for communicatingwirelessly, and managing overall synchronization and access to thewireless network within the cell 108. The base station 102 may transmitand receive wireless signals in accordance with any one or moreprotocols. Such protocols may include, for example, protocols defined inthe ISO 18000-7 standard, and/or protocols described in theabove-incorporated U.S. Provisional Patent Application No. 61/464,376filed on Mar. 2, 2011. In an embodiment of the invention, the basestation 102 may communicate with the controllers 106 ₁-106 ₃ utilizing afirst one or more protocols, and communicate with the endpoints 104₁-104 ₂₀ utilizing a second one or more protocols. An exemplary basestation is described below with respect to FIG. 2.

Each of the controllers 106 ₁-106 ₃ may comprise circuitry forcommunicating wirelessly with one or more endpoints that are within thecoverage area of the controller (i.e., “in-range endpoints”). In FIG. 1,endpoints 104 ₁-104 ₄ are within the coverage area 110 ₁ of thecontroller 106 ₁, endpoints 104 ₅-104 ₇ are within the coverage area 110₂ of the controller 106 ₂, and endpoints 104 ₁₆-104 ₂₀ are within thecoverage area 110 ₃ of controller 106 ₃. Each of the controllers 106₁-106 ₃ may communicate with in-range endpoints in accordance with anyone or more protocols. Such protocols may include, for example,protocols defined in the ISO 18000-7 standard, and/or protocolsdescribed in the above-incorporated U.S. Provisional Patent ApplicationNo. 61/464,376 filed on Mar. 2, 2011. An exemplary controller 106 isdescribed below with respect to FIG. 2.

Each of the endpoints 104 ₁-104 ₂₀ may comprise circuitry forcommunicating wirelessly. Each of the controllers 106 ₁-106 ₃ maycommunicate with in-range endpoints in accordance with any one or moreprotocols. Such protocols may include, for example, protocols defined inthe ISO 18000-7 standard, and/or protocols described in theabove-incorporated U.S. Provisional Patent Application No. 61/464,376filed on Mar. 2, 2011. An exemplary endpoint 104 is described below withrespect to FIG. 2.

In an embodiment of the invention, access to one or more channels in theairspace within the cell 108 may be time-division multiplexed into aplurality of windows. In an exemplary windowing scheme, there may bethree windows which cyclically repeat. A first of the windows may beutilized for endpoints to transmit connectionless beacons which may bereceived by the base station 102, the controllers 106 ₁-106 ₃, and/orother endpoints. A second window may be utilized for endpoints totransmit connectionless alarm signals which may be received by the basestation 102. A third window may be an open-access window in whichbidirectional communications between the base station 102 and thecontrollers 106 ₁-106 ₃, bidirectional communications between thecontrollers 106 ₁-106 ₃ and the endpoints 104 ₁-104 ₂₀, and/orbidirectional communications among endpoints 104 ₁-104 ₂₀ may takeplace. Additional details of such an exemplary windowing scheme aredescribed below with respect to FIGS. 3A-3C.

Beacons transmitted by the endpoints 104 ₁-104 ₂₀ during assignedtimeslots may be utilized by the base station 102 and/or the controllers106 ₁-106 ₃ to detect and/or verify the presence and/or status of thedevices 104 ₁-104 ₂₀. Alarm signals transmitted by the endpoints duringan alarm window may alert network administrators that the endpoint whichtransmitted an alarm signal has detected a condition that needs to beaddressed.

During an open access window, bidirectional communications between theendpoints 104 ₁-104 ₂₀ and controllers 106 ₁-106 ₃ and/or the basestation 102 may configure the endpoints 104 ₁-104 ₂₀ (which may includeresynchronizing the endpoints 104 ₁-104 ₂₀ to a network clock), uploaddata from the endpoints 104 ₁-104 ₂₀, and/or download data to theendpoints 104 ₁-104 ₂₀. Similarly, in some instances, bidirectionalcommunications among two or more of the endpoints 104 ₁-104 ₂₀ may takeplace during an open-access window. Such communication among endpointsmay be utilized for synchronizing the local clocks of the endpoints 104₁-104 ₂₀ and/or transferring data among the endpoints 104 ₁-104 ₂₀.

The beacon signals and alarm signals may be transmitted utilizingdifferent protocols than those utilized for signals communicated as partof bidirectional communications during the open-access window(s).Accordingly, packets transmitted during the open-access window may be,e.g., formatted differently, encoded differently, transmitted ondifferent frequencies, and/or transmitted utilizing different modulationthan the beacon signals and alarm signals transmitted during otherwindows.

FIG. 2 depicts an exemplary low-power, long-range network endpoint.Shown in FIG. 2 are an exemplary base station 102 and an exemplaryendpoint 104, which may correspond to any of the devices 104 ₁-104 ₂₀ ofFIG. 1. The exemplary base station 102 comprises a clock 202, CPU 204, amemory 206, a radio 207, and an antenna 210. The exemplary controller106 comprises a clock 224, CPU 224, a memory 226, a radio 227, and anantenna 230. The exemplary endpoint 104 comprises a clock 204, CPU 214,a memory 216, a radio 217, an antenna 220, and one or more sensors 221.In an exemplary embodiment of the invention, the base station 102 may berelatively more complex than the controller 106 which, in turn, may berelatively more-complex than the endpoint 104. Accordingly, the basestation 102 may comprise more-expensive components than the controller106 which, in turn, may comprise more-expensive components than theendpoint 104.

The clock 202 may comprise an oscillator which generates a periodicsignal and/or may comprise a date/time clock. The clock 202 may providea reference for synchronous circuitry of the base station 102. The clock202 may provide the network clock for a network controlled by the basestation 102.

The clock 212 may comprise an oscillator which generates a periodicsignal and/or may comprise a date/time clock. The clock 212 may be alocal clock that provides a time reference for synchronous circuitry ofthe device 104. In instances that the device 104 isresource-constrained, the clock 212 may be less complex than the clock202. Consequently, the clock 212 may be relativelyinaccurate/less-stable compared to the clock 202 (e.g., may exhibitrelatively significant drift over relatively short periods of time).Accordingly, the local clock 212 may occasionally need to beresynchronized to the network clock 202.

The clock 222 may comprise an oscillator which generates a periodicsignal and/or may comprise a date/time clock. The clock 222 may be alocal clock that provides a time reference for synchronous circuitry ofthe device 106. In an exemplary embodiment of the invention, the clock222 may be relatively less accurate/stable than the clock 202 but moreaccurate/stable than the clock 212.

The CPU 204 may comprise circuitry operable to control operation of thebase station 102. The CPU 204 may, for example, execute an operatingsystem and/or other programs. The CPU 204 may generate one or morecontrol signals for controlling the operation of the base station 102.The CPU 204 may, for example, control a mode of operation of the basestation 102.

The CPU 214 may comprise circuitry operable to control operation of thesecond device 104. In some instances, the CPU 214 may be substantiallysimilar to the CPU 204. In instances that the device 104 isresource-constrained, the CPU 204 may be less-complex (e.g., comprisefewer gates, utilize less power, utilize less memory, etc.) than the CPU214. In one embodiment, for example, the CPU 204 may comprise a RISC orARM processor, and the CPU 214 may comprise a state-machine having arelatively small number of states (e.g., four states).

The CPU 224 may comprise circuitry operable to control operation of thecontroller 106. In some instances, the CPU 224 may be substantiallysimilar to the CPU 204. In those or other instances, the CPU 224 may beless-complex than the CPU 204 but more complex than the CPU 214.

The radio 207 may comprise a processor 208 and an analog front-end (AFE)209. The processor 208 may comprise circuitry operable to interface withthe AFE 209 to receive and transmit data, and to process received andto-be-transmitted data. For transmission, the processor 208 may beoperable to receive data from the CPU 204 and/or memory 206, packetizeand/or otherwise process the data to prepare it for transmission inaccordance with one or more wireless protocols, and output the data tothe AFE 209 for transmission. For reception, the processor 208 may beoperable to receive data via the AFE 209, process the received data andoutput received data to the memory 206 and/or the CPU 204. Exemplaryprotocols which may be supported by the radio 207 include the ISO18000-7 standard, and protocols described in the above-incorporated U.S.Provisional Patent Application No. 61/464,376 filed on Mar. 2, 2011.

The radio 217 may comprise a processor 218 and an analog front-end (AFE)219. The processor 218 may comprise circuitry operable to interface withthe AFE 219 to receive and transmit data, and to process received andto-be-transmitted data. In some instances, the processor 218 may besubstantially similar to the processor 208. In instances that the device104 is resource-constrained, the processor 218 may be less-complex(e.g., comprise fewer gates, utilize less power, utilize less memory,etc.) than the processor 208. In one embodiment, for example, theprocessor 208 may be operable to implement more complex signalprocessing algorithms than the processor 218.

The radio 227 may comprise a processor 228 and an analog front-end (AFE)229. The processor 228 may comprise circuitry operable to interface withthe AFE 229 to receive and transmit data, and to process received andto-be-transmitted data. In some instances, the processor 228 may besubstantially similar to the processor 208. In those or other instancesthe processor 228 may be less-complex than the processor 208 butmore-complex than the processor 218.

The analog front-end (AFE) 209 may comprise circuitry suitable forprocessing received and/or to-be-transmitted data in the analog domain.For transmission, the AFE 209 may receive digital data from theprocessor 208, process the data to generate corresponding RF signals,and output the RF signals to the antenna 210. For reception, the AFE 209may receive RF signals from the antenna 210, process the RF signals togenerate corresponding digital data, and output the digital data to theprocessor 208.

The AFE 219 may comprise circuitry suitable for processing receivedand/or to-be-transmitted data in the analog domain. In some instances,the AFE 219 may be substantially similar to the AFE 209. In instancesthat the device 104 is resource-constrained, the AFE 219 may beless-complex (e.g., comprise fewer gates, utilize less power, utilizeless memory, etc.) than the AFE 209. In one embodiment, for example, theAFE 209 may comprise a more-sensitive receiver, and a more powerfultransmitter than the AFE 219.

The AFE 229 may comprise circuitry suitable for processing receivedand/or to-be-transmitted data in the analog domain. In some instances,the AFE 229 may be substantially similar to the AFE 209. In those orother instances the AFE 229 may be less-complex than the AFE 209 butmore-complex than the AFE 219.

Circuitry of the memory 206 may comprise one or more memory cells andmay be operable to store data to the memory cell(s) and read data fromthe memory cell(s). The one or more memory cell may comprise one or morevolatile memory cells and/or one or more non-volatile memory cells.

Circuitry of the memory 216 may comprise one or more memory cells andmay be operable to read data from the memory cell(s) and/or store datato the memory cell(s). In some instances, the memory 216 may besubstantially similar to the memory 206. In instances that the device104 is resource-constrained, the memory 216 may be less-complex (e.g.,comprise fewer gates, utilize less power, etc.) than the memory 206.

Circuitry of the memory 226 may comprise one or more memory cells andmay be operable to read data from the memory cell(s) and/or store datato the memory cell(s). In some instances, the memory 226 may besubstantially similar to the memory 206. In those or other instances thememory 226 may be less-complex than the memory 206 but more-complex thanthe memory 216.

Each of the antennas 210, 220, and 230 may be operable to transmit andreceive electromagnetic signals in one or more frequency bands. In anembodiment of the invention, the antennas 210 and 220 may be operable totransmit and receive signals in the ISM frequency band centered at433.92 MHz.

The sensor(s) 221 may comprise one or more of: an acoustic sensoroperable to sense, e.g., amplitude, phase, polarization, spectrum and/orwave velocity of acoustic waves; a chemical operable to sense, e.g., thepresence of any one or more elements and/or compounds in solid, gas,and/or liquid form; an electrical sensor operable to detect, e.g.,amplitude, phase, polarization, and/or spectrum of a current and/orvoltage, conductivity, and/or permittivity; a magnetic sensor operableto, e.g., detect flux, permeability, amplitude, phase, and/orpolarization of a magnetic field; a mechanical sensor operable todetect, e.g., position, acceleration, force, stress, pressure, strain,mass, density, moment, torque, shape, roughness, orientation, and/orstiffness; an optical sensor operable to detect, e.g., amplitude, phase,polarization, and/or spectrum of an optical wave, wave velocity,refractive index, emissivity, reflectivity, and/or absorption; and/or athermal sensor operable to detect, e.g., temperature, flux, specificheat, and/or thermal conductivity. The sensor(s) 221 may, for example,generate an interrupt to the CPU 214 when an alarm condition is present.

In operation, prior to a device 104 joining the network managed by thebase station 102, the device 104 may listen for network parameters fromthe base station 102. Such parameters may, for example, be transmittedonto a predetermined control channel by the base station 102.Additionally or alternatively, an administrator of the device 104 may,for example, manually program parameters into the device 104 and/ordownload parameters to the device 104 (e.g., via a wired connection tothe base station 102, and/or the Internet and/or a LAN). The parametersconfigured in the device 104 may include one or more parameters forsynchronizing the clock 212 to the clock 202. The parameters configuredin the device 104 may include one or more parameters which identify atimeslot to which the device 104 has been assigned. The device 104 maythen proceed to normal operation.

In an exemplary embodiment of the invention, normal operation maycomprise the device 104 occasionally and/or periodically receivingsignals transmitted from the base station 102 and/or one or more otherdevices 104, occasionally and/or periodically listening to transmissionsbetween other devices and utilizing those transmissions to adjust itsclock 212, transmitting connectionless beacon signals during thetimeslot assigned to the device 104, and participating inconnection-oriented communications during an open-access time window.Normal operation may also comprise monitoring, via the sensor(s) 221 foran alarm condition. When an alarm condition is present, the device 104may enter an alarm-mode of operation. An alarm-mode of operation maycomprise, for example, determining a timeslot of an alarm window duringwhich an alarm signal may be transmitted, and then transmitting thealarm signal during that timeslot.

FIG. 3A depicts a plurality of access windows of a network for whichaccess is time-division multiplexed. In FIG. 3A, access to the medium istime-division multiplexed into three repeating windows 302, 304, and306. Shown are I+1 instances 300 of the windows 302, 304, and 306, whereI is an integer. The windows 302, 304, and 306 may be separated by idletime having duration δ, where d may be configurable and/orimplementation-specific. For illustration, it is assumed that there areD endpoints 104 which communicate over the time-division multiplexedmedium, where D is an integer.

Each instance of window 302 may be time-division multiplexed into aplurality of timeslots 322. Any particular timeslot 322 is representedherein as 322 _(n,i), where i is the instance of the window 302, n isthe index of the timeslot within the window instance i, 1≥i≥I, 1≥n≥N,and n, N, i, and I are integers. The index n wrap to 1 after reaching N,and the index i wraps to 1 after reaching I.

One or more timeslots 322 _(1,1)-322 _(N,I) may be assigned to each ofone or more endpoints 104 ₁-104 _(J). In an embodiment of the invention,each device 104 _(j) (where j is an integer between 1 and J, inclusive)is assigned to one timeslot 322 _(n,i). If the number of devices, J, isgreater than N (the number of timeslots 322 that fit into a singleinstance of the window 302), then it may take multiple instances of thewindow 302 for a particular endpoint's assigned timeslot to occur. Thatis, I=ceiling(J/N), where “ceiling( )” denotes rounding up to the nextinteger. To illustrate, if N=10, and J=12, then I=2, and the sequence ofwindows may be as follows: a first instance of window 302 correspondingto timeslots 322 _(1,1)-322 _(N,1), a window 304, a window 306, a secondinstance of window 302 corresponding to timeslots 322 _(1,2)-322 _(N,2),a window 304, a window 306, a first instance of window 302 correspondingto timeslots 322 _(1,1)-322 _(N,1), and so on.

Each instance of window 304 may be time-division multiplexed intotimeslots 332 ₁-332 _(M), where M is an integer. In an embodiment of theinvention, the endpoints 104 ₁-104 ₂₀, the controllers 106 ₁-106 ₃, andthe base station 102 may be prohibited from transmitting during thewindow 304 unless they are experiencing an alarm condition or haveexperienced an alarm condition during a pertinent time period, where thepertinent time period may be configurable and/orimplementation-specific.

In an embodiment of the invention, each of the timeslots 332 ₁-332 _(M)may not be reserved for any particular endpoint 104 but may be availablefor use by any endpoint 104 that is currently experiencing an alarmcondition. An endpoint 104 which has experienced an alarm conditionduring the pertinent time period may determine which of the timeslots332 ₁-332 _(M) of the window 304 to utilize for transmitting an alarmsignal based on which of the timeslots 322 _(1,1)-322 _(N,I) theendpoint 104 has been assigned, and on a hash function. In this regard,use of the hash function may enable J endpoints to share M timeslots,even where M is less than J. That is, use of a hash function may takeadvantage of the fact that, statistically speaking, only a certainpercentage of the J endpoints will detect an alarm condition at anygiven time. Therefore, J endpoints can effectively share M timeslotswhile the risk that there will be more than M devices detecting an alarmcondition during any given time period can be kept below a desiredthreshold, which may be configurable and/or implementation-specific.

FIG. 3B depicts a window of time which is time-division multiplexed intoa plurality of timeslots. Shown in FIG. 3B is an instance, i, of thewindow 302 described with respect to FIG. 3A. The window 302 istime-division multiplexed into slots 322 _(1,i)-322 _(N,i). In anembodiment of the invention, each timeslot 322 _(n,i) comprises idletime D on either side of a packet time A. Thus, in such an embodiment,each timeslot 322 _(n,i) is of duration A+2D. In an embodiment of theinvention, the value of one or more of A and D, and/or the unit ofmeasurement of A and/or D may be configurable and/orimplementation-specific. Time instants, referenced to the network clock202, and corresponding to boundaries between timeslots, are labeled astime instants 324 ₁-324 _(N+1). In FIG. 3B, a packet 320 of a beaconsignal is transmitted during each of the timeslots 322 _(1,i)-322_(N,i). In an exemplary embodiment of the invention, a beacon signal maybe only one packet in length.

FIG. 3C depicts a window of time which is time-division multiplexed intoa plurality of timeslots. Shown in FIG. 3C is an instance of the window304 described with respect to FIG. 3A. The window 304 is time-divisionmultiplexed into slots 332 ₁-332 _(M). In an embodiment of theinvention, each timeslot 332 _(m), where m is an integer between 1 andM, inclusive, comprises idle time D on either side of a packet time A.Thus, in such an embodiment, each timeslot 332 m is of duration A+2D. Inan embodiment of the invention, each timeslot 322 _(n,i) comprises idletime D on either side of a packet time A. Thus, in such an embodiment,each timeslot 322 _(n,i) is of duration A+2D. In an embodiment of theinvention, the value of one or more of A and D, and/or the unit ofmeasurement of A and/or D may be configurable and/orimplementation-specific. Time instants, referenced to the network clock202, and corresponding to boundaries between timeslots, are labeled astime instants 334 ₁-334 _(M+1). In FIG. 3C, a packet 330 of an alarmsignal is transmitted during each of the timeslots 332 ₁-332 _(M). In anexemplary embodiment of the invention, a beacon signal may be only onepacket in length.

FIG. 4 illustrates an exemplary packet structure utilized for alow-power, long range wireless network. The structure of the packet 400depicted in FIG. 4 may be utilized for beacon packets 320 and/or foradjusting the local clock 212 of one or more endpoints 104. The packet400 comprises a fore chirp 452, a data portion 454, and a post chirp456. The data portion 454 may, in turn, comprise a device ID field 460,a duration field 462, a shift magnitude field, a shift period field, anda payload 468.

Each of the fore chirp 452 and the post chirp 456 may comprise asequence of two or more bits with high autocorrelation properties whichmay be used as a reference for measuring duration. The fore chirp 452may be different than the post chirp 456 such that an endpoint candistinguish between the two.

The device ID field 460 may comprise a number and/or string that is/areuniquely associated with the endpoint 104 that generated the packet 400.

The duration field 462 may comprise a numeric value corresponding to theamount of time since the last time point at which the endpointidentified by the device ID field 460 had been assigned a timeslot 322_(n,i). The unit of measurement of the duration field 462 can may beconfigurable and/or implementation specific.

The shift magnitude field 464 may comprise a numeric value indicatingthe magnitude of one or more adjustments of the clock 212 of theendpoint which generated the packet 400. In an embodiment of theinvention, the shift magnitude field 464 may indicate the magnitude of amost-recent adjustment and/or an average value of a plurality ofadjustments of the clock 212. In an embodiment of the invention, theshift magnitude field 464 may be a signed number. The unit ofmeasurement of the shift magnitude field 464 may be configurable and/orimplementation-specific.

The shift period field 466 may comprise a numeric value indicating anumber of instances of the window 302 between successive adjustments ofthe clock 212 of the endpoint which generated the packet 400. In anembodiment of the invention, the shift period field 466 may indicate thenumber of window instances between the last two clock adjustment and/oran average number of windows between adjustments over multipleadjustments. The unit of measurement of the shift period field 466 maybe configurable and/or implementation-specific.

The payload 468 may comprise device, application, and/or implementationspecific data.

FIG. 5 is a flowchart comprising exemplary steps performed by anendpoint in a low-power, long-range network.

In step 502, an endpoint 104 desires to join the network cell 108managed by the base station 102.

In step 504, the endpoint 104 may receive and/or be programmed with thenecessary parameters. These parameter may include, for example: clocksynchronization information; the number of timeslots, N, that fit into awindow 302; the number, J, of devices 104 in the cell; the number, I, ofiterations of window 302 that are needed to accommodate the J devices inthe cell 108; a hash function utilized for selecting which of thetimeslots 332 during which to transmit an alarm signal; the packetduration A; the idle time D; the idle time, d, between windows; and/orthe duration, γ, of the open-access window 306.

In step 506, the endpoint 104 may adjust its clock 212 to synchronize tothe network clock 202.

In step 508, the endpoint 104 may enter a non-alarm mode of operation.While in the non-alarm mode (i.e., while an alarm condition is notpresent), the endpoint 104 may transmit beacon packets only during itsassigned timeslot 322 _(n,j), the endpoint 104 may periodically and/oroccasionally adjust its clock to maintain synchronization with networktiming, and/or may communicate with a controller 106 and/or otherendpoint 104 during the open-access window 306. Upon the endpoint 104detecting an alarm condition, the exemplary steps may advance to step510.

In step 510, the endpoint 104 may determine which of the timeslots ofwindow 304 to utilize for transmitting an alarm signal. Thedetermination may be made by inputting an identifier (e.g., the indicesn and i) of the endpoint's assigned timeslot 322 _(n,i) to a hashalgorithm.

In step 512, the endpoint 104 may transmit the alarm signal during thedetermined timeslot of window 304.

FIG. 6 is a flowchart comprising exemplary steps for synchronization ofa low-power, long-range network endpoint. In step 604, after start step602, during an instance of the open-access window 306, the base station102 and/or the controllers 106 ₁-106 ₃ may transmit (e.g., broadcast)synchronization for the endpoints 104 ₁-104 ₂₀ to utilize insynchronizing their local clocks 212 to the clock 202. In step 606,during an instance of the window 302, endpoint 104 ₂₀ may listen duringone or more timeslots 322 to which it is not assigned. That is, it mayreceive beacons transmitted by one or more of the endpoints 104 ₂-104₁₉. In step 608, the endpoint may adjust its clock 212 based on thebeacons received from the other endpoints. After step 608, the steps mayreturn to step 604.

FIG. 7 is a flowchart comprising exemplary steps for synchronization ofa low-power, long-range network endpoint. In step 704, after start step702, endpoint 104 _(j) may listen to a channel of the network cell 108during a time interval beginning at T_(LC)−D and ending at time instantT_(LC)+D, where D is the idle time between the end of a first packet(e.g., packet 320 _(n) in FIG. 3B) and a timeslot boundary (e.g.,timeslot boundary 324 _(n+1) of FIG. 3B), D is also the idle timebetween the timeslot boundary and the beginning of a second packet(e.g., packet 320 _(n+1) in FIG. 3B), and T_(LC) is a value of the localclock 212 of device 104 _(j) that is supposed to correspond to thetimeslot boundary (That is, if clock 212 is accurately synchronized tothe clock 202, then T_(LC) aligns with the timeslot boundary). Theendpoint 104 _(j) may do this for one or more values of T_(LC).

In step 706, the endpoint may characterize the signals received duringthe one or more time intervals. In step 708, the endpoint 104 _(j) mayadjust its clock based on the result of the characterization in step706.

In an exemplary embodiment, the characterization may comprisedetermining a ratio of (i) post-chirp bits, bytes, or symbols receivedduring the one or more time intervals to (ii) fore-chirp bits, bytes, orsymbols received during the one or more time intervals. In such anembodiment, the ratio may be greater than a threshold value (e.g., ‘1’)because, for example, T_(LC) is not aligned with the timeslot boundary,but occurs before the timeslot boundary. In such an embodiment, theratio may be less than a threshold value (e.g., ‘1’) because, forexample, T_(LC) is not aligned with the timeslot boundary, but occursafter the timeslot boundary. The threshold value may be configurableand/or implementation specific. Configurability of the threshold mayenable compensating for system biases and/or non-idealities. The clockmay, for example, be adjusted in a first direction (e.g., a positivedirection) if the ratio is greater than the threshold, adjusted in asecond direction (e.g., a negative direction) if the ration is less thanthe threshold, and may not be adjusted if the ratio is equal to thethreshold.

In another exemplary embodiment of the invention, the characterizationmay comprise comparing how many post-chirp bits, bytes, or symbols werereceived during the one or more time intervals and (ii) how manyfore-chirp bits, bytes, or symbols were received during the one or moretime intervals. The clock may, for example, be adjusted in a firstdirection (e.g., a positive direction) if the more post-chirp bits,bytes, or symbols than fore-chirp bits, bytes, or symbols were receivedduring the one or more time intervals, be adjusted in a second direction(e.g., a negative direction) if the less post-chirp bits, bytes, orsymbols than fore-chirp bits, bytes, or symbols were received during theone or more time intervals, and may not be adjusted if the same (orapproximately the same) number of post-chirp bits, bytes, or symbols andfore-chirp bits, bytes, or symbols were received during the one or moretime intervals.

In an exemplary embodiment of the invention, a communication system(e.g., an endpoint 104) may comprise one or more circuits operable totransmit and receive data wirelessly. The communication system may beassigned (e.g., via download, via manual programming, and/or viawireless signal(s) from a base station) a first timeslot (e.g., timeslot332 _(n,i)) during which transmission can occur when an alarm conditionis not present. The one or more circuits may be operable to detect thepresence of an alarm condition. In response to the detection of thealarm condition, the one or more circuits may be operable to determine asecond timeslot (e.g., timeslot 332 _(m)) based on the first timeslotand based on a hash function. The one or more circuits may be operableto transmit an alarm signal during the second timeslot.

In an exemplary embodiment of the invention, a communication system(e.g., an endpoint 104) may comprise one or more circuits operable totransmit and receive over a medium to which access is time-divisionmultiplexed into a plurality of repeating windows (e.g., windows 302,304, and 306). A first window (e.g., window 302) of the plurality ofrepeating windows may be time-division multiplexed into a plurality oftimeslots (e.g., timeslots 322 _(1,1)-322 _(N,I)). A second window(e.g., window 304) of the plurality of repeating windows may betime-division multiplexed into a plurality of timeslots (e.g., timeslots332 ₁-332 _(M)). The assigned first timeslot may be one of the pluralityof timeslots of the first window. The second timeslot may be one of theplurality of timeslots of the second window. The second timeslot mayoccur in the first instance of the second window to occur after thedetection of the alarm condition. The first timeslot may not occur inevery instance of the first window. A third window (e.g., window 306) ofthe plurality of windows may not be time-division multiplexed into aplurality of timeslots. The first timeslot may be reserved fortransmissions of a first type (e.g., beacon packets) and the thirdwindow is utilized for transmissions of one or more second types (e.g.,endpoint configuration data, data uploads from an endpoint, datadownloads to an endpoint). The one or more circuits may comprise one ormore acoustic, chemical, electrical, magnetic, mechanical, optical,and/or thermal sensors for performing the detection of the alarmcondition.

In an exemplary embodiment of the invention, a communication system(e.g., an endpoint 104) may comprise a clock (e.g., clock 212) and maybe operable to transmit and receive data via a wireless network (e.g.,the network 108). The communication system may communicate over a mediumto which access is time-division multiplexed into a plurality oftimeslots (e.g., timeslots 332 _(1,1)-332 _(N,I)). The o communicationsystem may be operable to receive signals during one or more timeintervals (e.g., a time interval from T_(LC)−D to T_(LC)+D). Thecommunication system may be operable to characterize the signalsreceived during the one or more time intervals. The communication systemmay be operable to adjust the clock based the characterization. Thecharacterization may comprise determining a ratio of (i) end-of-timeslotbits, bytes, or symbols (i.e., bits, bytes, or symbols, such as, forexample, the post chirp 456, that are transmitted at or near the end ofa timeslot such as, for example, a timeslot 322) received during the oneor more time intervals to (ii) beginning-of-timeslot bits, bytes, orsymbols (i.e., bits, bytes, or symbols, such as, for example, the postchirp 456, that are transmitted at or near the beginning of a timeslotsuch as, for example, a timeslot 322) received during the one or moretime intervals.

Access to the wireless network may be time-division multiplexed into aplurality of repeating windows. The one or more time intervals may occurduring a first window of the plurality of repeating windows. The signalsreceived during the one or more time intervals may have been transmittedby other endpoints (e.g., other ones of the endpoints 104 ₁-104 ₂₀) inthe wireless network. The communication system may be operable totransmit an alarm signal during a second window of the plurality ofrepeating windows. The communication system may comprise a clock and maybe operable to synchronize the clock (e.g., clock 212) to a networkclock (e.g., clock 202) during a third window of the plurality ofrepeating windows.

Other embodiments of the invention may provide a non-transitory computerreadable medium and/or storage medium, and/or a non-transitory machinereadable medium and/or storage medium, having stored thereon, a machinecode and/or a computer program having at least one code sectionexecutable by a machine and/or a computer, thereby causing the machineand/or computer to perform the steps as described herein for low-power,long-range networking.

Accordingly, the present invention may be realized in hardware,software, or a combination of hardware and software. The presentinvention may be realized in a centralized fashion in at least onecomputing system, or in a distributed fashion where different elementsare spread across several interconnected computing systems. Any kind ofcomputing system or other apparatus adapted for carrying out the methodsdescribed herein is suited. A typical combination of hardware andsoftware may be a general-purpose computing system with a program orother code that, when being loaded and executed, controls the computingsystem such that it carries out the methods described herein. Anothertypical implementation may comprise an application specific integratedcircuit or chip.

The present invention may also be embedded in a computer programproduct, which comprises all the features enabling the implementation ofthe methods described herein, and which when loaded in a computer systemis able to carry out these methods. Computer program in the presentcontext means any expression, in any language, code or notation, of aset of instructions intended to cause a system having an informationprocessing capability to perform a particular function either directlyor after either or both of the following: a) conversion to anotherlanguage, code or notation; b) reproduction in a different materialform.

While the present invention has been described with reference to certainembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted withoutdeparting from the scope of the present invention. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the present invention without departing from its scope.Therefore, it is intended that the present invention not be limited tothe particular embodiment disclosed, but that the present invention willinclude all embodiments falling within the scope of the appended claims.

What is claimed is:
 1. A communication system comprising: one or morecircuits operable to transmit and receive data wirelessly, said one ormore circuits being operable to: receive assignment of a first timeslotfor transmission when an alarm condition is not present; detect thepresence of said alarm condition; in response to said detection of saidalarm condition, determine a second timeslot based on said firsttimeslot and a hash function; and transmit an alarm signal during saidsecond timeslot.
 2. The communication system of claim 1, wherein: saidone or more circuits transmit and receive over a medium to which accessis time-division multiplexed into a plurality of repeating windows; afirst window of said plurality of repeating windows is time-divisionmultiplexed into a plurality of timeslots; a second window of saidplurality of repeating windows is time-division multiplexed into aplurality of timeslots; said assigned first timeslot is one of saidplurality of timeslots of said first window; and said second timeslot isone of said plurality of timeslots of said second window.
 3. Thecommunication system of claim 2, wherein said second timeslot occurs inthe first instance of said second window to occur after said detectionof said alarm condition.
 4. The communication system of claim 2, whereinsaid first timeslot does not occur in every instance of said firstwindow.
 5. The communication system of claim 2, wherein a third windowof said plurality of windows is not time-division multiplexed into aplurality of timeslots.
 6. The communication system of claim 5, whereinsaid first timeslot is reserved for transmissions of a first type andsaid third window is utilized for transmissions of one or more secondtypes.
 7. The communication system of claim 1, wherein said one or morecircuits comprise one or more acoustic, chemical, electrical, magnetic,mechanical, optical, and/or thermal sensors for said detection of saidalarm condition.
 8. A method comprising: performing by one or morecircuits operable to transmit and receive data wirelessly: receivingassignment of a first timeslot during for transmission when an alarmcondition is not present; detecting the presence of said alarmcondition; in response to said detection of said alarm condition,determining a second timeslot based on said first timeslot and a hashfunction; and transmitting an alarm signal during said second timeslot.9. The method of claim 8, comprising: performing by said one or morecircuits: transmitting and receiving over a medium to which access istime-division multiplexed into a plurality of repeating windows,wherein: a first window of said plurality of repeating windows istime-division multiplexed into a plurality of timeslots; a second windowof said plurality of repeating windows is time-division multiplexed intoa plurality of timeslots; said assigned first timeslot is one of saidplurality of timeslots of said first window; and said second timeslot isone of said plurality of timeslots of said second window.
 10. The methodof claim 9, wherein said second timeslot occurs in the first instance ofsaid second window to occur after said detection of said alarmcondition.
 11. The method of claim 9, wherein said first timeslot doesnot occur in every instance of said first window.
 12. The method ofclaim 2, wherein a third window of said plurality of windows is nottime-division multiplexed into a plurality of timeslots.
 13. The methodof claim 5, wherein said first timeslot is reserved for transmissions ofa first type and said third window is utilized for transmissions of oneor more second types.
 14. The method of claim 1, wherein said one ormore circuits comprise one or more acoustic, chemical, electrical,magnetic, mechanical, optical, and/or thermal sensors for said detectionof said alarm condition.
 15. A communication system comprising: one ormore circuits comprising a clock, said one or more circuits beingoperable to: transmit and receive data via a wireless network;communicate over a medium to which access is time-division multiplexedinto a plurality of timeslots; receive signals during one or more timeintervals; characterize said signals received during said one or moretime intervals; and adjust said clock based on said characterization ofsaid signals received during said one or more time intervals.
 16. Thecommunication system of claim 15, wherein: said characterizationcomprises determining a ratio of (i) end-of-timeslot bits, bytes, and/orsymbols received during the one or more time intervals to (ii)beginning-of-timeslot bits, bytes, and/or symbols received during theone or more time intervals; said one or more circuits are operable toadjust said clock by a positive amount when said ratio is greater than athreshold; and said one or more circuits are operable to adjust saidclock by a negative amount when said ratio is less than a threshold. 17.The communication system of claim 15, wherein: said characterizationcomprises comparing (i) how many end-of-timeslot bits, bytes, and/orsymbols were received during the one or more time intervals to (ii) howmany beginning-of-timeslot bits, bytes, and/or symbols were receivedduring the one or more time intervals.
 18. The communication system ofclaim 1, wherein: access to said wireless network is time-divisionmultiplexed into a plurality of repeating windows; said one or more timeintervals occur during a first window of said plurality of repeatingwindows; and said signals received during said one or more timeintervals were transmitted by other endpoints in said wireless network.19. The communication system of claim 4, wherein said one or morecircuits are operable to transmit an alarm signal during a second windowof said plurality of repeating windows.
 20. The communication system ofclaim 4, wherein said one or more circuits are operable to synchronizesaid clock to a network clock during a third window of said plurality ofrepeating windows.